import { defineConfig, type UserConfig, type ConfigEnv, loadEnv } from 'vite';
import Uni from '@dcloudio/vite-plugin-uni';
import AutoImport from 'unplugin-auto-import/vite';
import ViteRestart from 'vite-plugin-restart';
// https://vitejs.dev/config/
export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> => {
  const UnoCss = await import('unocss/vite').then((i) => i.default);
  const env = loadEnv(mode, process.cwd(), 'env');
  console.log('打印***env', env);

  return {
    envDir: './env', // 自定义env目录
    plugins: [
      Uni(),
      AutoImport({
        imports: ['vue', 'uni-app'], // 自动导入 Vue 和 UniApp 的 API
        dts: 'src/types/auto-imports.d.ts', // 自动生成类型声明文件
        eslintrc: {
          enabled: true // 生成 ESLint 配置文件
        }
      }),
      UnoCss(),
      ViteRestart({
        // 通过这个插件，在修改vite.config.js文件则不需要重新运行也生效配置
        restart: ['vite.config.js']
      })
    ]
  };
});
